/* eslint-disable */
export * from './components'
import {PhColorpickerOpt} from './components/color-picker/index.type'
import {PhDatepickerOpt} from './components/datetime-picker/index.type'

import {PhLoadingState} from './components/loading/index.type'
import {PhMsgOpt,PhMsgReturn} from './components/message/index.type'
import {PhAlertOpt,PhConfirmOpt,PhModelShowRetrun} from './components/modal/index.type'
import {PhNotifyOpt,PhNotifyReturn} from './components/notification/index.type'

import PhTooltip,{PhTooltipDirective} from './directives/tooltip'
export {
    PhTooltip,
    PhTooltipDirective
}

interface PhDoneResult{
    done:(fn:(...a:any[])=>void)=>void
}
/* eslint-disable */
export interface Phoeon{
    $phDatetimePicker : (c:string,opt:PhDatepickerOpt)=>PhDoneResult,
    $phDDatetimePicker : (s:string,e:string,opt:PhDatepickerOpt)=>PhDoneResult,
    $phColorPicker : (c:string,opt:PhColorpickerOpt)=>PhDoneResult,
    $phLoading : {
        show:(opt?:PhLoadingState)=>void,
        hide:()=>void
    },
    $phMessage : (c:string,opt?:PhMsgOpt)=>PhMsgReturn,
    $phAlert: (msg:string,title?:string,opt?:PhAlertOpt) => PhModelShowRetrun,
    $phConfirm: (msg:string,title?:string,opt?:PhConfirmOpt) => PhModelShowRetrun,
    $phNotify : (c:string,opt?:PhNotifyOpt)=>PhNotifyReturn,
    $phToast: (msg:string,duration?:number) => void
}